﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Treinamento2015_01Core.Repository
{
    public interface IBaseRepository<TEntity>
    {
        IList<TEntity> FindAll();
        //IList<TEntity> FindAllActive<T>();
        TEntity FindById(int id);
        TEntity Create(TEntity entity);
        IList<TEntity> Create(IList<TEntity> entities);
        TEntity Update(TEntity entity);
        IList<TEntity> Update(IList<TEntity> entities);
        void Remove(int id);
        void Remove(TEntity entity);
        void Remove(IList<TEntity> entities);
        void Save();
        List<TEntity> PagedList(int pageNumber, int pageSize);

        int Count();
    }
    }
